demos: Convert to drawing with Cairo instead of GdkRGB
authorBenjamin Otte <otte@redhat.com>
Tue, 13 Jul 2010 15:17:19 +0000 (17:17 +0200)
committerBenjamin Otte <otte@redhat.com>
Mon, 26 Jul 2010 14:42:48 +0000 (16:42 +0200)
demos/pixbuf-demo.c

index 6c921b5b4f0de7b12af64f5e14c3222f77c64c6a..51977d258155f971629ec48850e6e7e75d38ddfe 100644 (file)
@@ -89,20 +89,14 @@ load_pixbufs (void)
 static gint
 expose_cb (GtkWidget *widget, GdkEventExpose *event, gpointer data)
 {
-       guchar *pixels;
-       int rowstride;
-
-       rowstride = gdk_pixbuf_get_rowstride (frame);
-
-       pixels = gdk_pixbuf_get_pixels (frame) + rowstride * event->area.y + event->area.x * 3;
-                 
-       gdk_draw_rgb_image_dithalign (widget->window,
-                                     widget->style->black_gc,
-                                     event->area.x, event->area.y,
-                                     event->area.width, event->area.height,
-                                     GDK_RGB_DITHER_NORMAL,
-                                     pixels, rowstride,
-                                     event->area.x, event->area.y);
+        cairo_t *cr;
+         
+        cr = gdk_cairo_create (event->window);
+        gdk_cairo_set_source_pixbuf (cr, frame, 0, 0);
+        gdk_cairo_rectangle (cr, &event->area);
+        cairo_fill (cr);
+
+        cairo_destroy (cr);
 
        return TRUE;
 }